package cc.lucien.validation;

import cc.lucien.entity.Student2;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

/**
 * @author lucien-ma
 * @date 2021/9/8
 * @apiNote
 */
public class Student2Validation implements Validator {
    /**
     * 判断你传进来的是否是 Student2 类型的，
     * 不可能啥都给你校验
     * @param clazz
     * @return
     */
    @Override
    public boolean supports(Class<?> clazz) {
        return Student2.class.equals(clazz);
    }

    /**
     * 上面的方法返回 true 才会进入这个方法，
     * 在这儿定义具体的校验规则
     * @param target
     * @param errors
     */
    @Override
    public void validate(Object target, Errors errors) {
        /*
        判断姓名是否为 null，
        如果是 null，就将错误信息存入到 errors 中
         */
        ValidationUtils.rejectIfEmpty(errors, "name", null, "姓名不能为空");
        ValidationUtils.rejectIfEmpty(errors, "password", null, "密码不能为空");
    }
}
